## [2.5. Директива override](https://www.opennet.ru/docs/RUS/gnumake/#GNU_Make)
Переменные в GNU Make могут создаваться и получать свое значение разными способами:
Задаваться внутри make-файла
"Автоматически" создаваться программой make из переменных среды
Задаваться через командную строку при вызове программы make
Последний случай считается "специальным". Если переменная задана через командную строку, то внутри make-файла нельзя изменить ее значение "обычным" способом. Рассмотрим простой make-файл:
    compile_flags := -pipe $(compile_flags)
    
    all:
        echo $(compile_flags) 
Предположим, что переменная compile_flags была задана через командную строку при запуске программы make:
    make  compile_flags="-O0 -g" 
В результате обработки make-файла на экран будет выведена строка:
    -O0 -g 
То есть попытка изменить значение переменной compile_flags внутри make-файла была проигнорирована. Если все-таки возникает необходимость в изменении переменной, которая была задана с помощью командной строки, нужно использовать директиву override. Директива помещается перед именем переменной, которая должна быть изменена:
    override compile_flags := -pipe $(compile_flags)

    all:
        echo $(compile_flags) 
Теперь в результате обработки make-файла на экран будет выдана строка:
    -pipe -O0 -g 